package cn.mccraft.uide.api.workspace;

import java.nio.file.Path;
import java.util.Collection;
import java.util.Optional;
import cn.mccraft.uide.api.project.Project;

public interface Workspace {
	
	Path getPath();
	
	Optional<Project> getProject(String name);
	
	void addProject(Project project);
	
	boolean removeProject(String name);
	
	boolean removeProject(Project project);
	
	boolean hasProject(String name);
	
	Optional<Project> getSelectedProject();
	
	Collection<Project> getSelectedProjects();
	
	Collection<Project> getProjects();
	
	void update();
	
	void save();
}
